
import java.awt.Desktop;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.UIManager;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Milton
 */
public class VentanaAdministrador extends javax.swing.JFrame implements ActionListener{
    VentanaIngresarSistema ventanaAnterior;
    /**
     * Creates new form NewJFrame
     */
    public VentanaAdministrador(VentanaIngresarSistema ventanaAnterior) {
        this.ventanaAnterior = ventanaAnterior;
        initComponents();
        setControlador();
        this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    }
    
    public void setControlador(){
        botonCerrar.addActionListener(this);
        itemCrearSucurs.addActionListener(this);
        itemModificarSucurs.addActionListener(this);
        itemEliminarSucurs.addActionListener(this);
        itemConsultarSucurs.addActionListener(this);
        itemAdmTerm.addActionListener(this);
        itemApDesc.addActionListener(this);
        itemConsultUsr.addActionListener(this);
        itemCrearUsr.addActionListener(this);
        itemDelUsr.addActionListener(this);
        itemGenerarReportBajasExist.addActionListener(this);
        itemGenerarReportClientes.addActionListener(this);
        itemGenerarReportCumpleaños.addActionListener(this);
        itemGenerarReportIVA.addActionListener(this);
        itemGenerarReportProductos.addActionListener(this);
        itemGenerarReportVentas.addActionListener(this);
        itemGenerarReportVentasFabric.addActionListener(this);
        itemGenerarReportVentasProd.addActionListener(this);
        itemModUsr.addActionListener(this);
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jMenuItem1 = new javax.swing.JMenuItem();
        labelTitulo = new javax.swing.JLabel();
        etiquetaImagenUsr = new javax.swing.JLabel();
        etiquetaTM = new javax.swing.JLabel();
        botonCerrar = new javax.swing.JButton();
        jMenuBar1 = new javax.swing.JMenuBar();
        menuUsuarios = new javax.swing.JMenu();
        itemCrearUsr = new javax.swing.JMenuItem();
        itemConsultUsr = new javax.swing.JMenuItem();
        itemModUsr = new javax.swing.JMenuItem();
        itemDelUsr = new javax.swing.JMenuItem();
        menuReportes = new javax.swing.JMenu();
        itemGenerarReportVentas = new javax.swing.JMenuItem();
        itemGenerarReportClientes = new javax.swing.JMenuItem();
        itemGenerarReportProductos = new javax.swing.JMenuItem();
        itemGenerarReportVentasProd = new javax.swing.JMenuItem();
        itemGenerarReportVentasFabric = new javax.swing.JMenuItem();
        itemGenerarReportCumpleaños = new javax.swing.JMenuItem();
        itemGenerarReportBajasExist = new javax.swing.JMenuItem();
        itemGenerarReportIVA = new javax.swing.JMenuItem();
        menuDescuentos = new javax.swing.JMenu();
        itemApDesc = new javax.swing.JMenuItem();
        menuTienda = new javax.swing.JMenu();
        itemAdmTerm = new javax.swing.JMenuItem();
        menuSucursales = new javax.swing.JMenu();
        itemCrearSucurs = new javax.swing.JMenuItem();
        itemConsultarSucurs = new javax.swing.JMenuItem();
        itemEliminarSucurs = new javax.swing.JMenuItem();
        itemModificarSucurs = new javax.swing.JMenuItem();

        jMenuItem1.setText("jMenuItem1");

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setResizable(false);

        labelTitulo.setFont(new java.awt.Font("Consolas", 1, 36)); // NOI18N
        labelTitulo.setForeground(new java.awt.Color(0, 51, 102));
        labelTitulo.setText("ADMINISTRADOR");

        etiquetaImagenUsr.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/administracion-de-la-herencia.png"))); // NOI18N

        etiquetaTM.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/LogoTecnomundo.png"))); // NOI18N

        botonCerrar.setFont(new java.awt.Font("Trebuchet MS", 0, 14)); // NOI18N
        botonCerrar.setForeground(new java.awt.Color(204, 255, 255));
        botonCerrar.setText("Cerrar Sesión");

        menuUsuarios.setForeground(new java.awt.Color(0, 51, 102));
        menuUsuarios.setText("Usuarios");
        menuUsuarios.setFont(new java.awt.Font("Trebuchet MS", 1, 14)); // NOI18N

        itemCrearUsr.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemCrearUsr.setForeground(new java.awt.Color(0, 51, 102));
        itemCrearUsr.setText("Crear Usuario");
        menuUsuarios.add(itemCrearUsr);

        itemConsultUsr.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemConsultUsr.setForeground(new java.awt.Color(0, 51, 102));
        itemConsultUsr.setText("Consultar Usuario");
        menuUsuarios.add(itemConsultUsr);

        itemModUsr.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemModUsr.setForeground(new java.awt.Color(0, 51, 102));
        itemModUsr.setText("Modificar Usuario");
        menuUsuarios.add(itemModUsr);

        itemDelUsr.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemDelUsr.setForeground(new java.awt.Color(0, 51, 102));
        itemDelUsr.setText("Eliminar Usuario");
        menuUsuarios.add(itemDelUsr);

        jMenuBar1.add(menuUsuarios);

        menuReportes.setForeground(new java.awt.Color(0, 51, 102));
        menuReportes.setText("Reportes");
        menuReportes.setFont(new java.awt.Font("Trebuchet MS", 1, 14)); // NOI18N

        itemGenerarReportVentas.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemGenerarReportVentas.setForeground(new java.awt.Color(0, 51, 102));
        itemGenerarReportVentas.setText("Generar Reporte Ventas (Top 20)");
        menuReportes.add(itemGenerarReportVentas);

        itemGenerarReportClientes.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemGenerarReportClientes.setForeground(new java.awt.Color(0, 51, 102));
        itemGenerarReportClientes.setText("Generar Reporte Clientes (Top 10)");
        itemGenerarReportClientes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemGenerarReportClientesActionPerformed(evt);
            }
        });
        menuReportes.add(itemGenerarReportClientes);

        itemGenerarReportProductos.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemGenerarReportProductos.setForeground(new java.awt.Color(0, 51, 102));
        itemGenerarReportProductos.setText("Generar Reporte Productos Menos Vendidos (Top 10)");
        menuReportes.add(itemGenerarReportProductos);

        itemGenerarReportVentasProd.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemGenerarReportVentasProd.setForeground(new java.awt.Color(0, 51, 102));
        itemGenerarReportVentasProd.setText("Generar Reporte Ventas Por Producto");
        menuReportes.add(itemGenerarReportVentasProd);

        itemGenerarReportVentasFabric.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemGenerarReportVentasFabric.setForeground(new java.awt.Color(0, 51, 102));
        itemGenerarReportVentasFabric.setText("Generar Reporte Ventas Por Fabricante");
        menuReportes.add(itemGenerarReportVentasFabric);

        itemGenerarReportCumpleaños.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemGenerarReportCumpleaños.setForeground(new java.awt.Color(0, 51, 102));
        itemGenerarReportCumpleaños.setText("Generar Reporte Cumpleaños Clientes");
        menuReportes.add(itemGenerarReportCumpleaños);

        itemGenerarReportBajasExist.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemGenerarReportBajasExist.setForeground(new java.awt.Color(0, 51, 102));
        itemGenerarReportBajasExist.setText("Generar Reporte Bajas Existencias");
        menuReportes.add(itemGenerarReportBajasExist);

        itemGenerarReportIVA.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemGenerarReportIVA.setForeground(new java.awt.Color(0, 51, 102));
        itemGenerarReportIVA.setText("Generar Reporte Recaudo IVA");
        menuReportes.add(itemGenerarReportIVA);

        jMenuBar1.add(menuReportes);

        menuDescuentos.setForeground(new java.awt.Color(0, 51, 102));
        menuDescuentos.setText("Descuentos");
        menuDescuentos.setFont(new java.awt.Font("Trebuchet MS", 1, 14)); // NOI18N

        itemApDesc.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemApDesc.setForeground(new java.awt.Color(0, 51, 102));
        itemApDesc.setText("Aplicar Descuentos");
        menuDescuentos.add(itemApDesc);

        jMenuBar1.add(menuDescuentos);

        menuTienda.setForeground(new java.awt.Color(0, 51, 102));
        menuTienda.setText("Tienda");
        menuTienda.setFont(new java.awt.Font("Trebuchet MS", 1, 14)); // NOI18N

        itemAdmTerm.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemAdmTerm.setForeground(new java.awt.Color(0, 51, 102));
        itemAdmTerm.setText("Administrar Terminales");
        menuTienda.add(itemAdmTerm);

        menuSucursales.setForeground(new java.awt.Color(0, 51, 102));
        menuSucursales.setText("Administrar Sucursales");
        menuSucursales.setFont(new java.awt.Font("Trebuchet MS", 1, 14)); // NOI18N

        itemCrearSucurs.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemCrearSucurs.setForeground(new java.awt.Color(0, 51, 102));
        itemCrearSucurs.setText("Crear Sucursal");
        menuSucursales.add(itemCrearSucurs);

        itemConsultarSucurs.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemConsultarSucurs.setForeground(new java.awt.Color(0, 51, 102));
        itemConsultarSucurs.setText("Consultar Sucursal");
        menuSucursales.add(itemConsultarSucurs);

        itemEliminarSucurs.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemEliminarSucurs.setForeground(new java.awt.Color(0, 51, 102));
        itemEliminarSucurs.setText("Eliminar Sucursal");
        menuSucursales.add(itemEliminarSucurs);

        itemModificarSucurs.setFont(new java.awt.Font("Trebuchet MS", 1, 12)); // NOI18N
        itemModificarSucurs.setForeground(new java.awt.Color(0, 51, 102));
        itemModificarSucurs.setText("Modificar Sucursal");
        menuSucursales.add(itemModificarSucurs);

        menuTienda.add(menuSucursales);

        jMenuBar1.add(menuTienda);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(56, 56, 56)
                        .addComponent(etiquetaTM, javax.swing.GroupLayout.PREFERRED_SIZE, 264, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(85, 85, 85)
                        .addComponent(etiquetaImagenUsr))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(275, 275, 275)
                        .addComponent(labelTitulo))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(294, 294, 294)
                        .addComponent(botonCerrar, javax.swing.GroupLayout.PREFERRED_SIZE, 221, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(105, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGap(25, 25, 25)
                .addComponent(labelTitulo)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(36, 36, 36)
                        .addComponent(etiquetaImagenUsr, javax.swing.GroupLayout.PREFERRED_SIZE, 232, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(55, 55, 55)
                        .addComponent(etiquetaTM)))
                .addGap(18, 18, 18)
                .addComponent(botonCerrar, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(25, Short.MAX_VALUE))
        );

        getAccessibleContext().setAccessibleName("Funciones");

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void itemGenerarReportClientesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemGenerarReportClientesActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_itemGenerarReportClientesActionPerformed

   
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton botonCerrar;
    private javax.swing.JLabel etiquetaImagenUsr;
    private javax.swing.JLabel etiquetaTM;
    private javax.swing.JMenuItem itemAdmTerm;
    private javax.swing.JMenuItem itemApDesc;
    private javax.swing.JMenuItem itemConsultUsr;
    private javax.swing.JMenuItem itemConsultarSucurs;
    private javax.swing.JMenuItem itemCrearSucurs;
    private javax.swing.JMenuItem itemCrearUsr;
    private javax.swing.JMenuItem itemDelUsr;
    private javax.swing.JMenuItem itemEliminarSucurs;
    private javax.swing.JMenuItem itemGenerarReportBajasExist;
    private javax.swing.JMenuItem itemGenerarReportClientes;
    private javax.swing.JMenuItem itemGenerarReportCumpleaños;
    private javax.swing.JMenuItem itemGenerarReportIVA;
    private javax.swing.JMenuItem itemGenerarReportProductos;
    private javax.swing.JMenuItem itemGenerarReportVentas;
    private javax.swing.JMenuItem itemGenerarReportVentasFabric;
    private javax.swing.JMenuItem itemGenerarReportVentasProd;
    private javax.swing.JMenuItem itemModUsr;
    private javax.swing.JMenuItem itemModificarSucurs;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JLabel labelTitulo;
    private javax.swing.JMenu menuDescuentos;
    private javax.swing.JMenu menuReportes;
    private javax.swing.JMenu menuSucursales;
    private javax.swing.JMenu menuTienda;
    private javax.swing.JMenu menuUsuarios;
    // End of variables declaration//GEN-END:variables

    @Override
    public void actionPerformed(ActionEvent ae) {
        if(ae.getActionCommand().equals("Cerrar Sesión")){
            
            
            this.dispose();
            ventanaAnterior.setVisible(true);
            
        }
        
        if(ae.getActionCommand().equals("Crear Usuario")){
            
            VentanaAdminUsuario ventanaCrearUsuario = new VentanaAdminUsuario("Crear");
            ventanaCrearUsuario.setLocationRelativeTo(this);
            ventanaCrearUsuario.setVisible(true);
            
        }
        
        if(ae.getActionCommand().equals("Consultar Usuario")){
            
            VentanaIDAdminUsuario ventanaIDConsultarUsuario = new VentanaIDAdminUsuario("Consultar");
            ventanaIDConsultarUsuario.setLocationRelativeTo(this);
            ventanaIDConsultarUsuario.setVisible(true);
            
        }
        
        if(ae.getActionCommand().equals("Modificar Usuario")){
            
            VentanaIDAdminUsuario ventanaIDModificarUsuario = new VentanaIDAdminUsuario("Modificar");
            ventanaIDModificarUsuario.setLocationRelativeTo(this);
            ventanaIDModificarUsuario.setVisible(true);
            
        }
        
        if(ae.getActionCommand().equals("Eliminar Usuario")){
            
            VentanaIDAdminUsuario ventanaIDEliminarUsuario = new VentanaIDAdminUsuario("Eliminar");
            ventanaIDEliminarUsuario.setLocationRelativeTo(this);
            ventanaIDEliminarUsuario.setVisible(true);
            
        }
        
        if(ae.getActionCommand().equals("Generar Reporte Ventas (Top 20)")){
            VentanaPro Sisaaaas =  new VentanaPro();
            Sisaaaas.setVisible(true);
            Sisaaaas.setLocationRelativeTo(this);
            //JOptionPane.showMessageDialog(null, "Implementame! D:");
            
        }
        
        if(ae.getActionCommand().equals("Generar Reporte Clientes (Top 10)")){
            
            JOptionPane.showMessageDialog(null, "Implementame! D:");
            
        }
        
        if(ae.getActionCommand().equals("Generar Reporte Productos Menos Vendidos (Top 10)")){
            
            JOptionPane.showMessageDialog(null, "Implementame! D:");
            
        }
        
        if(ae.getActionCommand().equals("Generar Reporte Ventas Por Producto")){
            
            JOptionPane.showMessageDialog(null, "Implementame! D:");
            
        }
        
        if(ae.getActionCommand().equals("Generar Reporte Ventas Por Fabricante")){
            
            JOptionPane.showMessageDialog(null, "Implementame! D:");
            
        }
        
        if(ae.getActionCommand().equals("Generar Reporte Cumpleaños Clientes")){
            
            JOptionPane.showMessageDialog(null, "Implementame! D:");
            
        }
        
        if(ae.getActionCommand().equals("Generar Reporte Bajas Existencias")){
            
            JOptionPane.showMessageDialog(null, "Implementame! D:");
            
        }
        
        
        if(ae.getActionCommand().equals("Generar Reporte Recaudo IVA")){
            
            JOptionPane.showMessageDialog(null, "Implementame! D:");
            
        }
        
        if(ae.getActionCommand().equals("Aplicar Descuentos")){
            
            VentanaDescuentos ventanaDescuentos = new VentanaDescuentos();
            ventanaDescuentos.setLocationRelativeTo(this);
            ventanaDescuentos.setVisible(true);
            
        }
        
        if(ae.getActionCommand().equals("Crear Sucursal")){
            
            VentanaAdminSucursal ventanaCrearSucursal = new VentanaAdminSucursal("Crear");
            ventanaCrearSucursal.setLocationRelativeTo(this);
            ventanaCrearSucursal.setVisible(true);
            
        }
        
        if(ae.getActionCommand().equals("Consultar Sucursal")){
            
            VentanaIDAdminSucursal ventanaIDConsultarUsuario = new VentanaIDAdminSucursal("Consultar");
            ventanaIDConsultarUsuario.setLocationRelativeTo(this);
            ventanaIDConsultarUsuario.setVisible(true);
            
        }
        
        if(ae.getActionCommand().equals("Modificar Sucursal")){
            
            VentanaIDAdminSucursal ventanaIDModificarUsuario = new VentanaIDAdminSucursal("Modificar");
            ventanaIDModificarUsuario.setLocationRelativeTo(this);
            ventanaIDModificarUsuario.setVisible(true);
            
        }
        
        if(ae.getActionCommand().equals("Eliminar Sucursal")){
            
            VentanaIDAdminSucursal ventanaIDEliminarUsuario = new VentanaIDAdminSucursal("Eliminar");
            ventanaIDEliminarUsuario.setLocationRelativeTo(this);
            ventanaIDEliminarUsuario.setVisible(true);
            
        }
        
        if(ae.getActionCommand().equals("Administrar Terminales")){
            
             JOptionPane.showMessageDialog(null, "Implementame! D:");
            
        }
        
        
        
    }
}
